home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib04.dsk
/
APPLE HI-RES CLOCK.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
4KB
|
86 lines
10 DATA 173,48,192,136,208,5,206,13,3,240,9,202,208,245,174,12,3,76,14,3,96
12 FOR TT = 782 TO 802: READ PO
14 POKE TT,PO
16 NEXT TT
20 HGR : HOME : HCOLOR= 3
30 C = 55
40 I = 140:H = 80
50 FOR A = 5 TO 154: HPLOT 20,A TO 259,A: NEXT
60 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0: HCOLOR= 0
70 FOR A = 15 TO 145: HPLOT 73,A TO 206,A: NEXT
80 HCOLOR= 3
90 FOR R = 450 TO 90 STEP -6
100 A = I + COS(R/180 *3.14159) *C:B = H - SIN(R/180 *3.14159) *C
110 HPLOT A,B
120 IF R/30 = INT(R/30) THEN A = I + COS(R/180 *3.14159) *(C -4):B = H - SIN(R/180 *3.14159) *(C -4): HPLOT TO A,B
130 NEXT R
140 HPLOT 134,17 TO 136,17 TO 136,23: HPLOT 134,23 TO 138,23: HPLOT 142,17 TO 146,17 TO 146,20 TO 142,20 TO 142,23 TO 146,23
150 HPLOT 142,137 TO 138,137 TO 138,143 TO 142,143 TO 142,140 TO 138,140
160 HPLOT 78,83 TO 82,83 TO 82,77 TO 78,77 TO 78,80 TO 81,80
170 HPLOT 197,77 TO 201,77 TO 201,83 TO 197,83: HPLOT 198,80 TO 200,80
180 VTAB 21: INPUT "WOULD YOU LIKE AN ALARM?";AN$: IF LEFT$(AN$,1) = "Y" THEN 200
190 A = 0: GOTO 230
200 PRINT "WHAT TIME SHOULD IT RING?": INPUT "HOUR,MINUTES:";A,B: IF A >12 OR A <1 OR B <0 OR B >59 THEN 200
210 HOME : VTAB 21
220 A = INT(A):B = INT(B):C = INT(C)
230 PRINT "WHAT TIME IS IT ?": INPUT "HOURS,MINUTES:";D,E: IF D <1 OR D >12 OR E <0 OR E >59 THEN 230
240 D = INT(D):E = INT(E)
250 HOME
260 U = 450 -(D *30):M = 450 -(E *6)
270 YY = U
280 VTAB 21
290 INPUT "SHOULD THERE BE A CHIME ON THE HOUR? ";I$: IF LEFT$(I$,1) = "Y" THEN CH = 1
300 HOME
310 IF A = 0 THEN 350
314 B$ = STR$(B)
315 IF B <10 THEN B$ = "0" +B$
320 VTAB 21: INVERSE : PRINT " ALARM WILL RING AT "A":"B$" "
330 NORMAL
340 A = 450 -(A *30):B = 450 -(B *6)
345 IF A = 90 THEN A = 450
350 REM
360 MA = I + COS(M/180 *3.14159) *47:MB = H - SIN(M/180 *3.14159) *47
370 MA = INT(MA +.5):MB = INT(MB +.5)
380 HPLOT I,H TO MA,MB
390 U = YY -( INT((450 -M)/6)/2)
400 U = INT(U +.5)
410 UA = I + COS(U/180 *3.14159) *38:UB = H - SIN(U/180 *3.14159) *38
420 UA = INT(UA +.5):UB = INT(UB +.5)
430 HPLOT I,H TO UA,UB
440 IF TE = 1 THEN TE = 0: GOTO 581
450 IF TE = 2 THEN TE = 0: GOTO 640
460 S = 450
470 SX = I + COS(S/180 *3.14159) *20:SY = H - SIN(S/180 *3.14159) *20
480 SX = INT(SX +.5):SY = INT(SY +.5)
490 HPLOT I,H TO SX,SY
494 IF R = 1 THEN S = S -(EX *6):R = 0:EX = 0
495 FOR EE = 1 TO 870: NEXT
500 HCOLOR= 0: HPLOT I,H TO SX,SY: HCOLOR= 3: HPLOT I,H TO MA,MB: HPLOT I,H TO UA,UB:S = S -6: IF S < = 90 THEN 520
510 GOTO 470
520 HCOLOR= 0: HPLOT I,H TO UA,UB: HPLOT I,H TO MA,MB: HCOLOR= 3
530 PP = PEEK( -16336) + PEEK( -16336) - PEEK( -16336)
540 M = M -6: IF M = 90 THEN M = 450:YY = YY -30:U = YY: IF YY < = 90 THEN YY = YY +360:U = YY
550 IF CH = 1 AND M = 450 THEN GOSUB 630
560 IF M = B AND YY = (A) THEN 580
570 GOTO 350
580 TE = 1: GOTO 350
581 POKE -16368,0
582 R = 1
585 FOR II = 1 TO 25: POKE 780,130: POKE 781,150: CALL 782: NEXT
590 EX = EX +10
593 IF PEEK( -16384) >127 THEN 614
595 FOR UU = 1 TO 10: FOR II = 1 TO 20:P = PEEK( -16336) + PEEK( -16336) + PEEK( -16336) - PEEK( -16336) - PEEK( -16336): NEXT II,UU
600 EX = EX +7
610 IF PEEK( -16384) >127 THEN 614
612 IF EX > = 240 THEN 614
613 GOTO 585
614 HCOLOR= 0: HPLOT I,H TO MA,MB: HPLOT I,H TO UA,UB: HCOLOR= 3
615 IF EX >59 THEN EX = EX -60:M = M -6: IF M < = 90 THEN M = 450:YY = YY -30:U = YY: IF YY < = 90 THEN YY = 450:U = YY
620 GOTO 350
630 TE = 2: GOTO 350
640 IF (450 -U)/30 <1 THEN FOR GG = 1 TO 12: GOTO 655
650 FOR GG = 1 TO (450 -U)/30
655 FOR O = 50 TO 100 STEP 10
660 POKE 780,0: POKE 781,160: CALL 782: NEXT : FOR WA = 1 TO 50: NEXT : NEXT
665 EX = (GG -1) *2.75:R = 1
670 RETURN